#include <stdio.h>

/**
 * 计算机只能存放0和1, 但是字符a怎么存放呢？
 * 将字符和数值一一对应起来, 这张对应表就叫ASCII表
 * 比如 a对应97
 */
int main() {
    char c = 'a';

    //字符使用单引号
    printf("char: %c\n", c);  //a
    printf("char: %d\n", c);  //97

    //字符的本质就是数字, 既然是数字那么就可以加减
    c = c + 1;
    printf("char: %c\n", c);  //b
    printf("char: %d\n", c);  //98

    //大小写转换
    c = c - 32;
    printf("char: %c\n", c);  //B
    printf("char: %d\n", c);  //66

    //转义字符
    printf("%c\n", '\a');
    printf("##%c##\n", '\n'); //换行
    printf("##%c##\n", '\t'); //tab
    printf("123%c456\n", '\r'); //光标回到行首
    printf("a\\b\\c\n", '\r'); //\\表示一个\  .
    printf("%%%d\n", 90); //%90

    //0, '0', '\0'
    printf("%d\n", 0);       //0
    printf("%d\n", '0');     //48
    printf("%d\n", '\0');    //0  ASCII 0

    return 0;
}